﻿package com.obas.model.type
{
	import com.ease.common.enums.TextualEnum;
	import com.ease.lang.Enum;
	import com.ease.lang.EnumConstants;
	import com.obas.model.type.AnalogyValueAttributeType;
	import com.obas.model.type.AttributeColumnType;

	[Bindable]
	[RemoteClass(alias="com.obas.model.type.AnalogyValueAttributeType")]

	public class AnalogyValueAttributeType extends Enum
	{
		/* static init */
		{ initEnum(AnalogyValueAttributeType); }

		/* Constants */
		public static const BATCHTIMESTAMP:AnalogyValueAttributeType = new AnalogyValueAttributeType("BATCHTIMESTAMP", "批次时间戳", "BATCHTIMESTAMP", "DATE", 0);
		public static const HOUR_OF_DAY:AnalogyValueAttributeType = new AnalogyValueAttributeType("HOUR_OF_DAY", "HOUR_OF_DAY", "HOUR_OF_DAY", "NUMBER", 0);
		public static const DAY_OF_WEEK:AnalogyValueAttributeType = new AnalogyValueAttributeType("DAY_OF_WEEK", "DAY_OF_WEEK", "DAY_OF_WEEK", "NUMBER", 0);
		public static const WEEK_OF_YEAR:AnalogyValueAttributeType = new AnalogyValueAttributeType("WEEK_OF_YEAR", "WEEK_OF_YEAR", "WEEK_OF_YEAR", "NUMBER", 0);
		public static const MONTH_OF_YEAR:AnalogyValueAttributeType = new AnalogyValueAttributeType("MONTH_OF_YEAR", "MONTH_OF_YEAR", "MONTH_OF_YEAR", "NUMBER", 0);
		public static const INDICATORTYPE_ID:AnalogyValueAttributeType = new AnalogyValueAttributeType("INDICATORTYPE_ID", "KPI类型", "INDICATORTYPE_ID", "NUMBER", 0);
		public static const NETWORKSERVING_ID:AnalogyValueAttributeType = new AnalogyValueAttributeType("NETWORKSERVING_ID", "网络服务", "NETWORKSERVING_ID", "NUMBER", 0);
		public static const SUMMATION:AnalogyValueAttributeType = new AnalogyValueAttributeType("SUMMATION", "合计", "SUMMATION", "NUMBER", 0);
		public static const VALUE:AnalogyValueAttributeType = new AnalogyValueAttributeType("VALUE", "KQI值", "VALUE", "NUMBER", 0);
		public static const RANK:AnalogyValueAttributeType = new AnalogyValueAttributeType("RANK", "得分", "RANK", "NUMBER", 0);
		public static const ACCUMULATIONS:AnalogyValueAttributeType = new AnalogyValueAttributeType("ACCUMULATIONS", "累计次数", "ACCUMULATIONS", "NUMBER", 0);

		private var _text:String;
		private var _columnName:String;
		private var _dataType:String;
		private var _length:int;

		/*public*/ function AnalogyValueAttributeType(name:String=null ,text:String=null ,columnName:String=null ,dataType:String=null ,length:int=0) {
			super.name = name;
			this._text = text;
			this._columnName = columnName;
			this._dataType = dataType;
			this._length = length;
		}

		public function get text():String  { return this._text; }
		public function get columnName():String  { return this._columnName; }
		public function get dataType():String  { return this._dataType; }
		public function get length():int  { return this._length; }

		/* constant query */
		public static function getEnumConstants():Array {
			return Enum.getEnumConstants(AnalogyValueAttributeType);
		}

		public static function get(constantName:String, caseSensitive:Boolean = false):AnalogyValueAttributeType {
			return AnalogyValueAttributeType(Enum.get(AnalogyValueAttributeType, constantName, caseSensitive));
		}
	}
}